In recent years, a connection method called “Peer to Peer (P2P)” connection has attracted attention. In the P2P connection, communication terminals connected to different networks are connected to each other, thereby sharing information and performing communication using video, audio, and the like.
However, communication terminals at general home are commonly connected using a Network Address Translator (NAT) function of a router.
Here, the NAT function is a function of translating a private address used within a local network (LAN) into a global address used in communication within a global network such as the Internet. An example of the NAT function is a narrow-defined NAT function of translating a private address to a global address on a one-to-one basis. In addition, a Network Address Port Translation (NAPT) function is also known. In the NAPT function, a pair of a private address and a port number is translated into a pair of a global address and a port number, so that the single global address enables a plurality of communication terminals connected under a router to share the single global address. Hereinafter, the narrow-defined NAT function and the NAPT function are referred to as a NAT function.
In order to connect communication terminals under different routers, it is necessary to correctly set NAT functions of both routers to which the communication terminals are connected.
One of methods for setting NAT function is known dynamic NAT setting. In the dynamic NAT setting, setting is automatically performed by a NAT function of a router, when, for example, a communication terminal connected to a local network transmits a packet to a server in a global network. More specifically, in the dynamic NAT setting, a NAT function of a router automatically assigns translated global address and port number, and automatically sets a translation rule including a pair of a local address and a port number of the communication terminal and a pair of the translated global address and port number.
Such dynamic NAT setting enables a user to perform communication without performing any specific NAT function setting, when, for example, a communication terminal connected to a local network is to be connected to a Web server on a global network.
With the above configuration, relay servers are provided on a global network, and communication terminals connected to different routers are thereby connected to the relay servers by using the dynamic NAT setting, so that the communication terminals are connected to one another via the relay servers. Thereby, as known, it is possible to realize communication without user's performing of any specific setting.
However, such a connection method using a relay server has a problem that traffic is concentrated on a relay server which causes bottleneck of processing capacity and processing band of the relay server. In order to solve the problem, (a) a communication terminal that is connected directly to a global network without any router, or (b) a communication terminal that sets NAT function to a router has a relay function to serve as a relay server. As a result, it is possible to increase the number of servers so as to distribute processing capacities and processing bands.